1. Field of the Invention
The invention generally relates to a sub-sea controller in a sub-sea well installation.
2. Background Art
A downhole installation for extracting oil or gas usually comprises a plurality of tools. The plurality of tools may for example comprise a sensor used for measuring a parameter such as temperature, pressure or flow rate, an actuator, e.g., a pump or a valve. A controller located at a surface of the downhole installation communicates with the tools. In case the downhole installation is located under the sea level, it is understood that the surface is in fact a border between the water and an earth formation. In this latter case, the sub-sea controller may be installed at a relatively deep location of the sea and may thus be difficult to access.
FIG. 1 provides an illustration of a sub-sea well installation. A surface controller or a computer 14 located above the sea level communicates with a sub-sea controller 11 located under the sea level, using a dedicated channel, e.g., a single cable 12. The sub-sea controller 11 is protected from water and pressure by a canister 13. The sub-sea controller 11 also communicates with a plurality of tools. As an example, the plurality of tools comprises a pressure sensor 15a, a pump 15b and a thermometer 15c. The pump 15b may be located within a casing of the sub-sea well 19. The pressure sensor 15a and the thermometer 15c may be located at a neighborhood of a formation 18.
In a sub-sea environment, it may happen that communication between the computer 14 and the sub-sea controller 11 is temporally interrupted. For example, a communicating device like a modem (not represented) may be shut off by a circuit breaker (not represented) and cause the sub-sea controller 11 to be isolated from the computer 14. The sub-sea controller 11 may however continue to communicate with the plurality of tools. Hence, a native application is implemented directly within the sub-sea controller 11.
The native application comprises a plurality of tasks. The sub-sea controller 11 executes the tasks. For example the sub-sea controller 11 requests and receives values of the measured pressure and temperature from the pressure sensor 15a and the thermometer 15c. The sub-sea controller 11 also outputs orders to the pump 15b. 
Furthermore, the sub-sea controller 11 may execute a conditional order. A conditional order is executed only if a condition is fulfilled. For example, if a measured pressure is below a predefined threshold, the pump 15b may be activated to provide a better extraction of oil or gas. The sub-sea controller 11 sends a request to the pressure sensor 15b to obtain the value of the pressure and compares the value of the pressure to the predetermined threshold. If the value of the pressure is smaller than the predetermined threshold, the sub-sea controller 11 sends a command to the pump 15a instructing the pump 15a to activate itself.
The sub-sea controller 11 may also execute a task for a purpose of statistics. An example of task for a purpose of statistics may be to count how many times the temperature parameter reaches a second predefined threshold during a period of time. In this case, the sub-sea controller 11 regularly receives the value of the measured temperature from the thermometer 15c during the period of time and compares the value of the measured temperature to a second threshold. If the value of the measured temperature reaches the second predefined threshold, a local variable may be incremented.
The sub-sea controller 11 executes the plurality of tasks to manage the plurality of tools. The sub-sea controller 11 stores the values of the parameters received from the plurality of tools or any other data, e.g., the local variable, into a storage device (not represented) such as a hard disk, or into an internal memory (not represented), e.g., a RAM memory, or an EEPROM memory.
The computer 14 only reads the internal memory. If the computer and the sub-sea controller 11 are temporally unable to communicate, the sub-sea controller 11 continues to execute the native application and stores the data into the internal memory. When the communication between the computer 14 and the sub-sea controller 11 is reestablished, the internal memory may be read by the computer 14.
The sub-sea controller 11 is installed under the sea level and manages the tools for a relatively extended life-time, typically several years. There may be a need for adding a new tool to the well, and as a consequence, the managing software of the sub-sea controller 11 may need to be updated to take into account the new tool. There may also be a need for modifying the managing software during the life-time for any reason. For example, the predetermined threshold may need to be changed, a conditional loop may be added, or a driver managing an additional tool may be needed. According to prior art, such an update is performed by replacing the managing software. This may be done by erasing the flash memory of the sub-sea controller 11, and downloading a new application to be stored in the flash memory and run from the flash memory.
FIG. 2 contains an illustration of an updating operation according to prior art. The sub-sea controller 21 usually comprises a plurality of devices (not represented) such as a Central Processing Unit, the flash memory, a timer, a plurality of Input/Output ports etc. forming a hardware layer 22. An operating system layer 23 links the hardware layer 22 to the applications. A native application 24 is run above the operating system layer 23. To update a software of the sub-sea controller 21, a new application 25 is downloaded and replaces the native application 24. During the downloading, the sub-sea controller 21 is unable to execute any application and the tools are not managed.